package day23;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * 需求：演示TCP客户端和服务端实现互访,客户端给服务端发送数据，服务端收到数据后，给客户端反馈信息
 * 客户端：
 * 1.建立Socket服务，并指定访问的服务端主机和端口
 * 2.获取Socket的输出流，将数据写入到流，通过网络发送到服务端去
 * 3.获取Socket的读取流，将服务端反馈的数据获取到，并打印
 * 4.关闭客户端
 */

/**
 *
 * TcpClient2.java
 * @author wangbiao<br/>
 *         email:785497344@qq.com
 * @description TCP客户端
 * @since 1.0.0
 * @date 2013-7-10下午10:09:44
 *
 */
public class TcpClient2 {

	public static void main(String[] args) {
		Socket s = null;
		try {
			s = new Socket("127.0.0.1",10003);
			OutputStream out = s.getOutputStream();
			out.write("TCP 服务端我来了，哈哈!".getBytes());
			
			//服务端ip地址
			String ip = s.getInetAddress().getHostAddress();
			System.out.println("服务端ip地址"+ip);
			byte[] buf = new byte[1024];
			int len = 0;
			InputStream in = s.getInputStream();
			len = in.read(buf);
			System.out.println(new String(buf, 0, len));
			
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != s) {
				try {
					s.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}
